package com.ibeetl.cms.entity;

import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;

import com.fasterxml.jackson.annotation.JsonIgnore;
import org.beetl.sql.core.annotatoin.AutoID;
import org.beetl.sql.core.annotatoin.SeqID;

import com.ibeetl.admin.core.util.ValidateConfig;

import org.beetl.sql.core.TailBean;
import java.math.*;

import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.entity.BaseEntity;

import org.beetl.sql.core.annotatoin.InsertIgnore;
import org.beetl.sql.core.annotatoin.Version;
import org.beetl.sql.core.annotatoin.LogicDelete;


/* 
* 支付订单表
* gen by Spring Boot2 Admin 2019-01-10
*/
public class ExtPayorder extends BaseEntity{

    //支付单号
    @NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
    @SeqID(name = ORACLE_CORE_SEQ_NAME)
    @AutoID	

    private String payid ;
	
    //商户订单号

    private String mchorderno ;
	
    //渠道ID

    private String channelid ;
	
    //支付金额,单位分

    private Long amount ;
	
    //三位货币代码,人民币:cny

    private String currency ;
	
    //支付状态,-2交易超时,-1 交易失败,0-订单生成,1-支付中(目前未使用),2-支付成功,3-业务处理完成

    private Integer state ;
	
    //客户端IP

    private String clientip ;
	
    //设备

    private String device ;
	
    //渠道用户标识,如微信openId,支付宝账号

    private String channeluser ;
	
    //用户姓名

    private String username ;
	
    //商品标题

    private String subject ;
	
    //商品描述信息

    private String body ;
	
    //特定渠道发起时额外参数

    private String extra ;
	
    //渠道商户ID(以后作为平台给渠道生成的类似微信的商户ID)

    private String channelmchid ;
	
    //渠道订单号

    private String channelorderno ;
	
    //扩展参数1

    private String param1 ;
	
    //扩展参数2

    private String param2 ;
	
    //通知地址

    private String notifyurl ;
	
    //创建时间

    private Date createtime ;
	
    //创建人

    private String createuser ;
	
    //更新时间

    private Date updatetime ;
	
    //修改人

    private String updateuser ;

    //删除标识
    @JsonIgnore
    protected Integer delFlag = 0;

    public ExtPayorder()
    {
    }

    /**支付单号
    *@return 
    */
    public String getPayid(){
	    return  payid;
    }
    /**支付单号
    *@param  payid
    */
    public void setPayid(String payid){
        this.payid = payid;
    }

    /**商户订单号
    *@return 
    */
    public String getMchorderno(){
	    return  mchorderno;
    }
    /**商户订单号
    *@param  mchorderno
    */
    public void setMchorderno(String mchorderno){
        this.mchorderno = mchorderno;
    }

    /**渠道ID
    *@return 
    */
    public String getChannelid(){
	    return  channelid;
    }
    /**渠道ID
    *@param  channelid
    */
    public void setChannelid(String channelid){
        this.channelid = channelid;
    }

    /**支付金额,单位分
    *@return 
    */
    public Long getAmount(){
	    return  amount;
    }
    /**支付金额,单位分
    *@param  amount
    */
    public void setAmount(Long amount){
        this.amount = amount;
    }

    /**三位货币代码,人民币:cny
    *@return 
    */
    public String getCurrency(){
	    return  currency;
    }
    /**三位货币代码,人民币:cny
    *@param  currency
    */
    public void setCurrency(String currency){
        this.currency = currency;
    }

    /**支付状态,-2交易超时,-1 交易失败,0-订单生成,1-支付中(目前未使用),2-支付成功,3-业务处理完成
    *@return 
    */
    public Integer getState(){
	    return  state;
    }
    /**支付状态,-2交易超时,-1 交易失败,0-订单生成,1-支付中(目前未使用),2-支付成功,3-业务处理完成
    *@param  state
    */
    public void setState(Integer state){
        this.state = state;
    }

    /**客户端IP
    *@return 
    */
    public String getClientip(){
	    return  clientip;
    }
    /**客户端IP
    *@param  clientip
    */
    public void setClientip(String clientip){
        this.clientip = clientip;
    }

    /**设备
    *@return 
    */
    public String getDevice(){
	    return  device;
    }
    /**设备
    *@param  device
    */
    public void setDevice(String device){
        this.device = device;
    }

    /**渠道用户标识,如微信openId,支付宝账号
    *@return 
    */
    public String getChanneluser(){
	    return  channeluser;
    }
    /**渠道用户标识,如微信openId,支付宝账号
    *@param  channeluser
    */
    public void setChanneluser(String channeluser){
        this.channeluser = channeluser;
    }

    /**用户姓名
    *@return 
    */
    public String getUsername(){
	    return  username;
    }
    /**用户姓名
    *@param  username
    */
    public void setUsername(String username){
        this.username = username;
    }

    /**商品标题
    *@return 
    */
    public String getSubject(){
	    return  subject;
    }
    /**商品标题
    *@param  subject
    */
    public void setSubject(String subject){
        this.subject = subject;
    }

    /**商品描述信息
    *@return 
    */
    public String getBody(){
	    return  body;
    }
    /**商品描述信息
    *@param  body
    */
    public void setBody(String body){
        this.body = body;
    }

    /**特定渠道发起时额外参数
    *@return 
    */
    public String getExtra(){
	    return  extra;
    }
    /**特定渠道发起时额外参数
    *@param  extra
    */
    public void setExtra(String extra){
        this.extra = extra;
    }

    /**渠道商户ID(以后作为平台给渠道生成的类似微信的商户ID)
    *@return 
    */
    public String getChannelmchid(){
	    return  channelmchid;
    }
    /**渠道商户ID(以后作为平台给渠道生成的类似微信的商户ID)
    *@param  channelmchid
    */
    public void setChannelmchid(String channelmchid){
        this.channelmchid = channelmchid;
    }

    /**渠道订单号
    *@return 
    */
    public String getChannelorderno(){
	    return  channelorderno;
    }
    /**渠道订单号
    *@param  channelorderno
    */
    public void setChannelorderno(String channelorderno){
        this.channelorderno = channelorderno;
    }

    /**扩展参数1
    *@return 
    */
    public String getParam1(){
	    return  param1;
    }
    /**扩展参数1
    *@param  param1
    */
    public void setParam1(String param1){
        this.param1 = param1;
    }

    /**扩展参数2
    *@return 
    */
    public String getParam2(){
	    return  param2;
    }
    /**扩展参数2
    *@param  param2
    */
    public void setParam2(String param2){
        this.param2 = param2;
    }

    /**通知地址
    *@return 
    */
    public String getNotifyurl(){
	    return  notifyurl;
    }
    /**通知地址
    *@param  notifyurl
    */
    public void setNotifyurl(String notifyurl){
        this.notifyurl = notifyurl;
    }

    /**创建时间
    *@return 
    */
    public Date getCreatetime(){
	    return  createtime;
    }
    /**创建时间
    *@param  createtime
    */
    public void setCreatetime(Date createtime){
        this.createtime = createtime;
    }

    /**创建人
    *@return 
    */
    public String getCreateuser(){
	    return  createuser;
    }
    /**创建人
    *@param  createuser
    */
    public void setCreateuser(String createuser){
        this.createuser = createuser;
    }

    /**更新时间
    *@return 
    */
    public Date getUpdatetime(){
	    return  updatetime;
    }
    /**更新时间
    *@param  updatetime
    */
    public void setUpdatetime(Date updatetime){
        this.updatetime = updatetime;
    }

    /**修改人
    *@return 
    */
    public String getUpdateuser(){
	    return  updateuser;
    }
    /**修改人
    *@param  updateuser
    */
    public void setUpdateuser(String updateuser){
        this.updateuser = updateuser;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }
}
